<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title>实验内容</title>
		<meta name="renderer" content="webkit">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
		<link rel="stylesheet" href="../css/layui.css" media="all">
		<!-- 注意：如果你直接复制所有代码到本地，上述css路径需要改成你本地的 -->
	</head>

	<body>
		<!-- 让IE8/9支持媒体查询，从而兼容栅格 -->
		<!--[if lt IE 9]>
  <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
  <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->

		<div class="layui-container">

			<div class="layui-row">
				<fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
					<legend>查看实验</legend>
				</fieldset>

				<fieldset class="layui-elem-field" style="margin-top: 30px;">
					<legend>实验题目</legend>
					<div class="layui-field-box">
						Hadoop环境安装和使用
					</div>
				</fieldset>
				<fieldset class="layui-elem-field">
					<legend>实验目的</legend>
					<div class="layui-field-box">
						1、掌握linux系统的安装调试，熟悉linux的用户管理和软件安装相关命令，熟悉linux下软件的使用； 2、掌握Hadoop的安装调试和使用；

					</div>
				</fieldset>
				<fieldset class="layui-elem-field">
					<legend>实验内容</legend>
					<div class="layui-field-box">
						1、linux系统安装，按照Hadoop环境要求，安装相应版本的linux系统。 2、配置Hadoop的相关系统环境。 3、安装配置Hadoop软件。
					</div>
				</fieldset>
				<fieldset class="layui-elem-field">
					<legend>实验要求</legend>
					<div class="layui-field-box">
						1、《大数据原理与技术》课程最终成绩将由每个实验内容成绩平均后得出。实验成绩总共占40分，其中基础实验占10分，三级项目占30分。 2、每名学生根据以上实验内容独立完成Hadoop的环境安装和配置。 3、学生需按实验内容撰写实验报告，本次实验要求边做实验边截图，截图包括安装过程以及安装成功后的相关命令验证和web界面，实验报告以文字加图片的方式将Hadoop的环境安装、配置、使用叙述清楚，详细说明每一步骤。 4、严禁抄袭，杜绝雷同，已经发现所有雷同程序本次实验按0分处理。 5、实验报告模板详见实验室飞秋共享《大数据原理与技术》实验报告模板文件。

					</div>
				</fieldset>
				<fieldset class="layui-elem-field">
					<legend>实验步骤</legend>
					<div class="layui-field-box">
						1、操作系统安装，Hadoop的运行环境为64位linux系统，本过程通过在虚拟机上安装ubuntu 64位系统来模拟。 在vmware workstation上新建一台虚拟机，利用镜像文件ubuntu-desktop-amd64.iso，在虚拟机上安装 ubuntu系统。（镜像文件同学们可以从网上自己下载https://www.ubuntu.com/download/desktop，也可以从实验室飞秋共享下载。） 2、在安装的虚拟机 Ubuntu系统中增加一个名为 hadoop 的用户，使用此用户来安装运行Hadoop。 如果你安装 Ubuntu 的时候不是用的 “hadoop” 用户，那么需要增加一个名为 hadoop 的用户。建立用户时候注意相关权限。 3、更新apt源。 用 hadoop 用户登录后，我们先运行apt-get update对软件源进行更新，思考为何要更新。 4、安装SSH、配置SSH无密码登陆。 集群、单节点模式都需要用到 SSH 登陆（类似于远程登陆，你可以登录某台 Linux 主机，并且在上面运行命令），Ubuntu 默认已安装了 SSH client，此外还需要安装 SSH server。自行查找相关资料，如何配置实现系统的SSH无密码登录。 5、安装Java环境。 6、安装 Hadoop 2。 7、Hadoop单机配置(非分布式)。 Hadoop 默认模式为非分布式模式，无需进行其他配置即可运行。非分布式即单 Java 进程，方便进行调试。 8、Hadoop伪分布式配置。 Hadoop 可以在单节点上以伪分布式的方式运行，Hadoop 进程以分离的 Java 进程来运行，节点既作为 NameNode 也作为 DataNode，同时，读取的是 HDFS 中的文件。 Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中，伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式，每个配置以声明 property 的 name 和 value 的方式来实现。 9、运行Hadoop伪分布式实例。 上面的单机模式，grep 例子读取的是本地数据，伪分布式读取的则是 HDFS 上的数据。要使用 HDFS，首先需要在 HDFS 中创建用户目录，接着将 ./etc/hadoop 中的 xml 文件作为输入文件复制到分布式文件系统中。即将 /usr/local/hadoop/etc/hadoop 复制到分布式文件系统中的 /user/hadoop/input 中。我们使用的是 hadoop 用户，并且已创建相应的用户目录 /user/hadoop ，因此在命令中就可以使用相对路径如 input，其对应的绝对路径就是 /user/hadoop/input。 10、启动YARN。 YARN 是从 MapReduce 中分离出来的，负责资源管理与任务调度。YARN 运行于 MapReduce 之上，提供了高可用性、高扩展性，YARN 的更多介绍在此不展开，有兴趣的可查阅相关资料。 上述通过 ./sbin/start-dfs.sh 启动 Hadoop，仅仅是启动了 MapReduce 环境，我们可以启动 YARN ，让 YARN 来负责资源管理与任务调度 注：详细过程见参考文献，注意思考每一步所做的内容。

					</div>
				</fieldset>
				<fieldset class="layui-elem-field">
					<legend>上传文件</legend>
					<div class="layui-field-box">
						<p align="center">第一次实验报告.doc</p>
						<div class="layui-upload-drag" id="test10">
							<i class="layui-icon"></i>
							<p>点击上传，或将文件拖拽到此处</p>
						</div>

					</div>
				</fieldset>
			</div>

		</div>

		<script src="../layui.js" charset="utf-8"></script>
		<!-- 注意：如果你直接复制所有代码到本地，上述js路径需要改成你本地的 -->
		<script>
			$(document).ready(function() {
				$(document).bind("contextmenu", function(e) {
					return false;
				});
			});

			layui.use('util', function() {
				var util = layui.util;

				//执行
				util.fixbar({
					bar1: true,
					showHeight: 200,
					click: function(type) {
						console.log(type);
						if(type === 'bar1') {
							alert('点击了bar1')
						}
					}
				});
			});

			layui.use('upload', function() {
				var $ = layui.jquery,
					upload = layui.upload;

				//指定允许上传的文件类型
				upload.render({
					elem: '#test3',
					url: '/upload/',
					accept: 'file' //普通文件
						,
					done: function(res) {
						console.log(res)
					}
				});

				upload.render({ //允许上传的文件后缀
					elem: '#test4',
					url: '/upload/',
					accept: 'file' //普通文件
						,
					exts: 'zip|rar|7z' //只允许上传压缩文件
						,
					done: function(res) {
						console.log(res)
					}
				});

				//设定文件大小限制
				upload.render({
					elem: '#test7',
					url: '/upload/',
					size: 60 //限制文件大小，单位 KB
						,
					done: function(res) {
						console.log(res)
					}
				});

				//同时绑定多个元素，并将属性设定在元素上
				upload.render({
					elem: '.demoMore',
					before: function() {
						layer.tips('接口地址：' + this.url, this.item, {
							tips: 1
						});
					},
					done: function(res, index, upload) {
						var item = this.item;
						console.log(item); //获取当前触发上传的元素，layui 2.1.0 新增
					}
				})

				//拖拽上传
				upload.render({
					elem: '#test10',
					url: '/upload/',
					done: function(res) {
						console.log(res)
					}
				});

			});
		</script>

	</body>

</html>